From 27688233b305346780ddcceaa982e8b26b98cd1d Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Thu, 21 Jan 2016 15:49:02 +0100 Subject: [PATCH] simplistic Makefile to build juce as a library --- debian/libbuilder/Makefile | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 debian/libbuilder/Makefile diff --git a/debian/libbuilder/Makefile b/debian/libbuilder/Makefile new file mode 100644 index 00000000..3bebd2fc --- /dev/null +++ b/debian/libbuilder/Makefile @@ -0,0 +1,100 @@ +# Automatically generated makefile, created by the Introjucer +# Don't edit this file! Your changes will be overwritten when you re-save the Introjucer project! + +# (this disables dependency generation if multiple architectures are set) +DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) + +empty= + +MODULES_PATH=../../modules + +SOURCES=juce_audio_basics.cpp \ + juce_audio_devices.cpp \ + juce_audio_formats.cpp \ + juce_audio_processors.cpp \ + juce_audio_utils.cpp \ + juce_box2d.cpp \ + juce_core.cpp \ + juce_cryptography.cpp \ + juce_data_structures.cpp \ + juce_events.cpp \ + juce_graphics.cpp \ + juce_gui_basics.cpp \ + juce_gui_extra.cpp \ + juce_opengl.cpp \ + juce_osc.cpp \ + juce_video.cpp \ + $(empty) + +VPATH=$(MODULES_PATH)/juce_audio_basics:$(MODULES_PATH)/juce_audio_devices:$(MODULES_PATH)/juce_audio_formats:$(MODULES_PATH)/juce_audio_processors:$(MODULES_PATH)/juce_audio_utils:$(MODULES_PATH)/juce_box2d:$(MODULES_PATH)/juce_core:$(MODULES_PATH)/juce_cryptography:$(MODULES_PATH)/juce_data_structures:$(MODULES_PATH)/juce_events:$(MODULES_PATH)/juce_graphics:$(MODULES_PATH)/juce_gui_basics:$(MODULES_PATH)/juce_gui_extra:$(MODULES_PATH)/juce_osc:$(MODULES_PATH)/juce_opengl:$(MODULES_PATH)/juce_video + +BINDIR := build +LIBDIR := build +OBJDIR := build/intermediate/Release +OUTDIR := build + +ifeq ($(TARGET_ARCH),) + TARGET_ARCH := -march=native +endif + +CPPFLAGS := $(DEPFLAGS) \ + -D "LINUX=1" \ + -D "NDEBUG=1" \ + -D "DEBUG=0" \ + -D "JUCE_DLL_BUILD=1" \ + -D "JUCER_LINUX_MAKE_6D53C8B4=1" \ + -D "JUCE_APP_VERSION=1.0.0" \ + -D "JUCE_APP_VERSION_HEX=0x10000" \ + -I /usr/include \ + -I /usr/include/freetype2 \ + -I ../../JuceLibraryCode \ + -I ../../../../juce +CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 -fPIC \ + -fpermissive +CXXFLAGS += $(CFLAGS) -std=c++11 +LDFLAGS += $(TARGET_ARCH) \ + -rdynamic \ + -shared \ + -fPIC +#LDFLAGS += -fvisibility=hidden +LDFLAGS += \ + -L$(BINDIR) \ + -L$(LIBDIR) \ + -L/usr/X11R6/lib/ \ + -lGL \ + -lX11 \ + -lXext \ + -lXinerama \ + -lasound \ + -ldl \ + -lfreetype \ + -lpthread \ + -lcurl \ + -lrt + +TARGET := libjuce.so +BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) + +OBJECTS=$(SOURCES:%.cpp=$(OBJDIR)/%.o) + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(RESOURCES) + @echo Linking juce_dll + -@mkdir -p $(BINDIR) + -@mkdir -p $(LIBDIR) + -@mkdir -p $(OUTDIR) + $(BLDCMD) + +$(OBJDIR): + mkdir -p "$@" + +$(OBJDIR)/%.o: %.cpp $(OBJDIR) + $(CXX) $(CXXFLAGS) -o "$@" -c "$<" + +clean: + @echo Cleaning juce_dll + $(CLEANCMD) + +-include $(OBJECTS:%.o=%.d) -- 2.30.2